# 列表
# 1、取值-》切片
# 1.1index 索引取单个值
# 1.2slice 切片取一些值（还是一个列表）

# 序列（list,tuple,range,str)
# 有顺序的值（索引、值）

# names = "ALex,Marry,Jack"
# #        01234...
# names_list = ["Alex","Marry","Jack"]
# #                0      1       2
# print(names[0])
# print(names_list[0])

# python中一切皆是对象！
# 列表方法会改变原来的列表
# 2、 列表增加
# 2.1 append（） 增加元素到list的末位
#    append（） 一般用来新建列表
names_J = []

names = ["Mike","Mary","Jan","Jack"]
names.append("Y")
names.append("T")
names.append("Y")

for i in names:
    if i[0] == "J":
        names_J.append(i)
print("names_J=",names_J)
print(names)


# 2.2 insert() 插入元素
names.insert(2,"Lihua")
print("插入Lihua之后的names：",names)

# 3、 删除/移除
# 3.1 remove() 使用remove之前，应先判断该元素是否存在该list之中
# Ctrl+/ 多行注释
print("Y" in names)
names_user = input("删除内容:")
while True:

    if names_user in names:
        names.remove(names_user)
    else:
        break

names.remove("Jack")
print("remove之后的names:",names)

# 3.2 pop() 删除 pop() 不填内容 删除末位  对应记忆=》 append()
names.pop(0)
print(names)

# 4、 index()
print(names.index("T"))

# 5、 sort() 排序 默认从小到大排序(reverse=False)   从大到小（reverse=True)
stu_grade = [97,95,93,95,92,96,92,95,100]
stu_grade.sort(reverse=True)
print(stu_grade)
# 字符串 以首字母按照ASCII编码表顺序排序
names.sort()
print(names)

# 6、 count() 查看某元素次数
print(stu_grade.count(95))

# 7、 clear() 清空列表
# names.clear()
# print(names)

# 8、 extend() 是有顺序的，操作哪一个列表，哪一个列表就先写
# names.extend(names_J)
# print(names)

